package br.uniceub.fsw.academicmobile.dao;

import java.sql.ResultSet;

import br.uniceub.fsw.academicmobile.vo.ProfessorVO;

/**
 * Dao responsável pelas operaçoes de banco associadas ao objeto Professor
 * @author Dejavu
 */
public class ProfessorDAO {

	private BD bd;

	public ProfessorDAO() {
		bd = new BD();
	}
	
        /**
         * Retorna Professor a partir de seu id
         * @param professor vo carregando o id do professor
         * @return objeto ProfessorVO
         */
	public ProfessorVO consultarProfessorPorId(ProfessorVO professor){
		ProfessorVO retorno = new ProfessorVO();
		String SQL = "SELECT * FROM tb_professor WHERE	ID_CD_drt=<01>";
		SQL = SQL.replaceAll("<01>", professor.getIdCdDrt().toString());
		try{
			ResultSet rs = bd.getResultSet(SQL);
			if(rs.next()){
				retorno.setIdCdDrt(rs.getLong("ID_CD_drt"));
				retorno.setNoProfessor(rs.getString("NO_professor"));
				retorno.setEeProfessor(rs.getString("EE_professor"));
				retorno.setStCoordenador(rs.getString("ST_coordenador"));
				retorno.setCdSenha(rs.getString("CD_senha"));
			}
		} catch (Exception ex) {
			System.err.println("PautaDAO.consultarProfessorPorId:"
					+ ex.getMessage());
		}
		return retorno;
	}
        
       /**
        * Inclui o objeto professor no banco
        * @param professor vo carregando os dados do professor
        * @return true caso haja sucesso
        */
       public boolean incluir(ProfessorVO professor){
       String SQL ="INSERT INTO tb_professor(ID_CD_drt,CD_senha,NO_professor,EE_professor) VALUES " + "" +
          "(<01>,'<02>','<03>','<04>')";
       SQL=SQL.replaceAll("<01>", professor.getIdCdDrt().toString());
       SQL=SQL.replaceAll("<02>", professor.getCdSenha());
       SQL=SQL.replaceAll("<03>", professor.getNoProfessor());
       SQL=SQL.replaceAll("<04>", professor.getEeProfessor());
       
       return this.bd.execSQL(SQL);
   }
     /**
      * Retorna professor a partir de seu e-mail
      * @param professor vo carregando email do professor
      * @return objeto ProfessorVO
      * @throws java.lang.Exception
      */
     public ProfessorVO getProfessorByEmail(ProfessorVO professor) throws Exception{
            String SQL = "select * from tb_professor where EE_professor = "+professor.getEeProfessor();
            ResultSet rs = bd.getResultSet(SQL);
            rs.next();
            ProfessorVO retorno = new ProfessorVO();
            retorno = new ProfessorVO();
            retorno.setIdCdDrt(rs.getLong("ID_CD_drt"));
            retorno.setEeProfessor(rs.getString("EE_professor"));
            retorno.setNoProfessor(rs.getString("NO_professor"));
            retorno.setCdSenha(rs.getString("CD_senha"));
            bd.finalize();
            return retorno;
    }
	
}
